package com.suxin.thread.schedule.task;

import com.suxin.thread.schedule.domain.TaskStatus;
import lombok.Data;

import java.util.Date;

/**
 * @author Tang
 * @classname Task
 * @description [  ]
 * @date 2021/3/16 20:53
 */
@Data
public class Task {

    private Integer id;

    private Date utcUpdate;

    private Integer version;

    private Integer jobId;

    /**
     *   前置子任务id，英文逗号分隔
     */
    private String preTaskIds;

    /**
     *   子任务名称
     */
    private String name;

    /**
     *   子任务描述
     */
    private String description;


    /**
     *   源头数据源id
     */
    private Integer inputId;

    /**
     *   目标数据源id
     */
    private Integer outputId;

    /**
     *   插入字段，英文逗号分隔
     */
    private String outputFields;

    /**
     *   上次执行时间
     */
    private Date lastExecTime;

    /**
     *   运行状态
     */
    private TaskStatus status;

    /**
     * 输出表名
     */
    private String outputTable;

    public int increaseVersion() {
        return ++this.version == Integer.MAX_VALUE ? 0 : this.version;
    }

}